package com.yyfax.pay.third.model.to.baofu;

import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;
import com.yyfax.framework.model.Params;
import com.yyfax.framework.yyfax.enums.RspCodeEnum;
import com.yyfax.pay.common.exception.YYPayException;

/**
 * 宝付代扣批量查询
 * 
 * @author maojian
 * @date 2017-04-12 10:23:38
 * @since v1.0.0
 */
@SuppressWarnings({ "serial" })
public class QueryPayinBatchOrderBaoFuParams extends Params {
	
	private String dataType;
	
	/**
	 * @Fields pfxPath : 商户私钥路径 
	 */
	private String pfxPath;
	
	/**
	 * @Fields pfxPwd : 商户私钥密码
	 */
	private String pfxPwd;
	
	/**
	 * @Fields cerPath : 宝付公钥路径
	 */
	private String cerPath;

	/**
	 * @Fields version : 版本号 
	 */
	private String version;
	
	/**
	 * @Fields terminal_id : 终端号
	 */
	@JSONField(name="terminal_id")  
	private String terminalId;

	/**
	 * @Fields txn_type : 交易类型 
	 */
	@JSONField(name="txn_type")  
	private String txnType;
	
	/**
	 * @Fields txn_sub_type : 交易子类 
	 */
	@JSONField(name="txn_sub_type")  
	private String txnSubType;
	
	/**
	 * @Fields member_id : 商户号
	 */
	@JSONField(name="member_id")  
	private String memberId;
	
	/**
	 * @Fields url : 代扣请求url
	 */
	private String url;
	
	/**
	 * @Fields trans_batch_id : 商户流水号
	 */
	@JSONField(name="trans_batch_id")  
	private String transBatchId;
	
	/**
	 * @Fields trans_serial_no : 商户批次号
	 */
	@JSONField(name="transSerial_no")  
	private String transSerialNo;
	

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}


	public String getTerminalId() {
		return terminalId;
	}

	public void setTerminalId(String terminalId) {
		this.terminalId = terminalId;
	}

	public String getTxnType() {
		return txnType;
	}

	public void setTxnType(String txnType) {
		this.txnType = txnType;
	}

	public String getTxnSubType() {
		return txnSubType;
	}

	public void setTxnSubType(String txnSubType) {
		this.txnSubType = txnSubType;
	}

	public String getMemberId() {
		return memberId;
	}

	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getTransBatchId() {
		return transBatchId;
	}

	public void setTransBatchId(String transBatchId) {
		this.transBatchId = transBatchId;
	}

	public String getTransSerialNo() {
		return transSerialNo;
	}

	public void setTransSerialNo(String transSerialNo) {
		this.transSerialNo = transSerialNo;
	}

	public String getPfxPath() {
		return pfxPath;
	}

	public void setPfxPath(String pfxPath) {
		this.pfxPath = pfxPath;
	}

	public String getPfxPwd() {
		return pfxPwd;
	}

	public void setPfxPwd(String pfxPwd) {
		this.pfxPwd = pfxPwd;
	}

	public String getCerPath() {
		return cerPath;
	}

	public void setCerPath(String cerPath) {
		this.cerPath = cerPath;
	}

	public String getDataType() {
		return dataType;
	}

	public void setDataType(String dataType) {
		this.dataType = dataType;
	}

	@Override
	public boolean validate() throws Exception {
		if (this.terminalId == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "merchantNo参数不能为空");
		}
		if (this.memberId == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "payReqData参数不能为空");
		}
		if (this.txnType == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "merchantId参数不能为空");
		}
		if (this.txnSubType == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "merchantSecurit参数不能为空");
		}
		if (this.transBatchId == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "merchantSecurit参数不能为空");
		}
		if (this.transSerialNo == null) {
			throw new YYPayException(RspCodeEnum.COMMON_ERROR_PARAMETER_INVALID, "merchantSecurit参数不能为空");
		}
		return false;
	}

    

	
	
}
